package cn.kgc.javaweb.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author: mosin
 * @version: v1.0  2022/5/25
 * Servlet的生命周期   tomcat容器中只会创建一个servlet对象  单例的
 *  创建   init()    时机：对象创建之后 自动调用该方法 完成初始化操作   只会调用一次
 *  使用   service()  时机：请求一次调用一次
 *  销毁   destroy()   时机： 服务器正常关闭时 会调用该方法
 */
@WebServlet("/life")
public class LifeCircleServlet  extends HttpServlet {

    public LifeCircleServlet() {
        System.out.println("LifeCircleServlet()无参构造被调用");
    }

    //servlet对象销毁时 调用该方法
    @Override
    public void destroy() {
        System.out.println("destroy()方法被调用");
    }

    //servlet对象创建时 调用该方法
    @Override
    public void init() throws ServletException {
        System.out.println("init()方法被调用");
    }

    //正常请求时 调用
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("service()方法被调用");
    }
}
